Dynamic service enablement of applications in heterogenous mobile environments

ABSTRACT

A system and methodology for dynamically enabling services related to digital content. The services are provided to mobile users on their mobile devices by a mobile service provider. The mobile devices may have different operating systems which may be proprietary operating systems and open operating systems. A mobile user downloads a client on his mobile device. The client implements a policy-based workflow on the digital content. Thereafter, the mobile user downloads digital content. Where a Java enabled mobile device is used, a wrapper is downloaded with the digital content. The mobile user initiates a request to use the digital content. The mobile service provider dynamically generates a set of options for the mobile user. Each option provides a service related to the digital content. The mobile service provider delivers a service according to the option selected by the mobile user.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of U.S. patent application Ser. No. 10/623,932 filed Jul. 21, 2003

BACKGROUND

The present invention, in general, relates to distribution and usage of digital content over mobile devices. In particular, this invention relates to policy based usage of digital content (applications).

With rapid developments in wireless technologies and with the onset of technically superior mobile devices and networks, distribution of digital content, which was predominantly being carried out only on the Internet, is now significantly being done over mobile networks as well. The new-generation mobile devices include mobile phones, Personal Digital Assistant (PDA), Laptops, etc with digital applications such as calendar, games, and the like. The new-generation mobile networks have a high data-transfer rate and, at the same time, support a greater number of mobile users. Thus, developments in mobile network technologies and superior mobile devices have enabled the transfer of digital content over wireless networks.

Broadly speaking, the transfer of digital content over the mobile networks is done in the following manner. Initially, a user requests for download of digital content from his/her mobile service provider. A content provider, which is in contact with a mobile service provider, hosts the downloadable digital content. The user then downloads the requested digital content on his/her mobile device through the mobile service provider. However, as the present mobile devices have the capability to distribute (or forward) the digital content to other mobile devices, a mobile device user can potentially distribute the downloaded digital content to numerous other mobile device users. This means that digital content such as games, graphics, utilities (such as a currency converter) and the like can be forwarded to other users if there is no protection for preventing such distribution. Such uncontrolled distribution is not desirable to the content provider (of the “unprotected” digital content). In order to explain this point more clearly, consider an example of a mobile service provider who provides mobile games for some payments by the user. If the game is “unprotected”, then the same may be forwarded and used by numerous other mobile users who have devices capable of receiving and using the game. This is economically undesirable for the content providers. Further, such distribution also leads to problems of licensing and copyright violations. Indeed, the content providers are wary of such problems and these problems are deterring content providers from hosting “rich” digital content for mobile devices without taking necessary steps towards protecting the digital content. It is desirable that the digital content provided by the content provider be protected from such misuse. That is, it is desirable that every mobile user using the digital content pays the content provider in some way to compensate the content provider. In order to address the problem of uncontrolled distribution of digital content, content providers rely on Mobile Digital Rights Management (Mobile DRM) techniques that protect digital content, and allow only authorized usage of the digital content.

Mobile DRM provides a secure infrastructure for the preparation, transmission, and prevention of misuse of the protected digital content. Thus content providers before making digital content available for usage protect the digital content with DRM Packages. A mobile user now cannot indiscriminately transfer this “protected” digital content to other mobile users without the requisite payments being made by the other users as well.

With the implementation of Mobile DRM, the existing state of technology for mobile networks works as follows: a user requests for download of digital content from his/her mobile service provider. Upon receiving the request, the user is prompted to pay for the digital content that he/she intends to download. After receiving the necessary payments, the mobile service provider forwards the digital content (which may have digital rights associated with it) to the user. The user is then able to download the requested digital content on his/her mobile device. The associated digital rights prevent the unauthorized distribution and usage of the downloaded digital content from mobile devices.

The basic requirements of a Mobile DRM system are scalability, provision of security to digital content and ease of implementation. To meet the scalability requirement, the Mobile DRM system should be able to handle diverse types of rights that may be issued by different issuers (for instance different content providers).

For the requirement for provision of security to digital content, the Mobile DRM system must prevent illegal use (such as unauthorized copying, alteration, and distribution) of the digital content. The system should also ensure that the digital content is used according to the rights assigned to it by the content provider.

In the above arrangement, it is usually the prerogative of the content provider to assign rights to the digital contents and prevent possible misuse while determining a pricing structure for the digital content at the same time. Assigning all the rights to the digital content at the content provider's end may lead to inflexibility in terms of the way the digital content is used in the future. For example, the content provider may fix the pricing of a song and the number of times it can be played without payment. Once this is fixed, the mobile service provider, who distributes this digital content, may not be able to change the above attributes for different user requirements. Further, the content provider may not want the digital content to be copied from one user to another. This may prevent the further distribution of digital content in an authorized manner from one user to another (called superdistribution) and eventually will limit the number of users of the digital content.

For meeting the ease of implementation requirement, the Mobile DRM should require minimal installation of software on the user's mobile device for the implementation of Mobile DRM policies. A new user, therefore, should require minimal installation of software before he/she is able to download and distribute the protected digital content. This is advantageous for the mobile service provider as it increases the ease with which the mobile service provider can get new mobile device users to use the services provided by the mobile service provider. There are some solutions available in the art that try to address the above-mentioned requirements. Content Policy System (CPS), a product from Beep Science AS, Norway is a Digital Rights Management solution for mobile service providers. This is a server-side solution that enables the mobile service provider to act as a payment collector for their own and partners' digital content, and ensures that copyright restrictions are enforced. The product also allows for superdistribution of digital content amongst users.

Another product RIGHTS|SYSTEM from Intertrust Technologies Corporation, CA, USA supports Digital Rights Management of any kind of digital content. The associated technology offers its customers the choice of choosing their business model and distribution method. In this system, the digital content is assigned rights through a packager before it is distributed. The user can then buy the digital content and rights to its use by making appropriate payments to the retailer of the digital content. The product also allows for superdistribution of digital content amongst users. The product requires the digital content to be protected and be assigned rights to it before it is sent to the mobile service provider for further distribution. This inhibits the mobile service provider from applying flexible charging policies to the digital content.

In addition to the drawbacks mentioned above, both the products mentioned above are directed more towards DRM of computer networks rather than that on mobile networks.

US patent application number US20010052077 A1, titled “Universal Mobile Id System And Method For Digital Rights Management”, allows client devices and users to receive customized digital content from service provider's servers irrespective of service provider's prior knowledge of clients' configurations or users' preferences. The disclosed invention also prevents an authorized user from passing on digital content to another user who is not authorized to access the paid digital content. The information about the user and his/her mobile device is captured in a Universal Mobile ID (UMID) that enables the service provider's servers to customize digital content for clients for whom no prior knowledge is available. The application prevents an authorized user from passing on digital content to another user, who is not authorized to view the paid digital content. This is not desirable as the mobile service provider here limits the distribution of the digital content, thereby limiting the total number of users who may possibly pay for the digital content. Further, this requires every mobile device to be given a UMID. This again requires new users to formally “register” with the mobile service provider thereby restricting the total number of possible users.

United States patent application number US20040148523 A1, titled “Digital Rights Management”, discloses a method for digital rights management in a network. A DRM server is responsible for issuing rights to requesting DRM clients. Once a DRM client obtains the rights, the rights are locked to a pseudo- or semi-unique node identifier obtained or calculated from the characteristics of the client. Rights of access to DRM-protected digital content are then granted subject to rights specifications and node identifier. This patent application attempts to grant rights of use to each mobile device instead of assigning rights to each application. This is not desirable as this leads to inflexibility in the implementation of DRM policies. It is desirable that the implementation of DRM policies is application (or digital content) based rather than user-based.

United States patent application number US20040249768 A1, titled “Digital Rights Management In A Mobile Communications Environment”, provides a method to control the access, copying and/or transfer of digital contents by mobile, wireless devices using digital vouchers. The content provider can specify the terms and conditions for distribution of the primary digital content. A digital voucher is similar to a license that is stored in the mobile or wireless device. The digital voucher authorizes the mobile device to access digital content that may be located elsewhere in the network. A DRM agent that is present on a server computer generates the voucher. A user can download a copy of the digital content that he or she is allowed to view according to the terms and conditions of the digital voucher using the mobile device. A user can distribute digital content to others based on the conditions in the digital voucher, that is, if the user has sharing authorization. The application requires the digital voucher to be present on the mobile device. This is not desirable, as this requires some kind of “registration” of the mobile device with the mobile service provider. Further, the implementation of charging policies is done when the digital voucher is created. Instead, it is desirable that the charging policies be implemented at the instant of download, giving greater flexibility to the mobile service provider.

In addition to the points mentioned above, it is also desirable that the DRM system need not have any DRM agent software running on the mobile device itself to implement DRM policies. Another desirable feature, which is not provided in existing systems, is that of applying charging policies to the digital content at runtime while it is being downloaded by a user on the mobile device. This enables the mobile service provider enforce multiple charging policies for the same kind of digital content depending on different business models.

Hence, there is a need for a system for data distribution over a mobile network that allows charging of digital content as it is being delivered to the mobile device. This system must also be able to safeguard the rights of the content providers during the process of superdistribution of the digital content. Further, there is a need for a system that does not require any kind of DRM agent on the mobile device itself to implement DRM policies. Additionally, there is also a need for a system that does not require the content provider to assign fixed rights to all the digital content for DRM enforcement before it is ready for distribution through the mobile service provider. Therefore, the same digital content can be issued different rights for different users. Further, there is a need for a system that allows for the update and re-issue of a license for the same digital content.

Further, there is a need for a system for enabling services related to the digital content for the mobile users. The services may include using, purchasing, referring, gifting, and the like, related to the digital content. The digital content includes applications such as games, music, video and the like. Furthermore, there is a need for dynamic enablement of services related to the protected digital content. Further, there is a need to dynamically offer the services related to the digital content on the basis of preferences of the mobile user. Further, there is a need to provide options for using the digital content or referring the digital content to other mobile users. Further, there is a need to develop a profitable business model wherein the mobile service provider can offer related digital content to mobile users by way of recommendations based on user profiles. There is also a need for the business model to cause revenue generation for the mobile service provider through advertisements. The advertisements may result in the delivery of subsidized or free digital content to the mobile user.

SUMMARY

The present invention is directed to dynamic enablement of services related to a digital content in all types of mobile devices.

An object of the present invention is to dynamically enable services related to Java-based digital content in Java enabled mobile devices.

Another object of the present invention is to dynamically enable services related to the digital content in mobile devices with open operating systems. The open operating systems exposes API's for developing native applications. Examples of open operating systems include but are not limited to Symbian™, Microsoft Pocket PC™, and WinCE™.

Another object of the present invention is to provide a dynamic catalog driven by a policy-based workflow system to mobile users on their mobile devices. The mobile service provider dynamically generates a catalog of services for a mobile user. The catalog is generated by a workflow system. The workflow includes a flow of instructions that are executed one after the other, when the mobile user initiates a request related to a service. The timing, source and destination of the instructions are controlled by the workflow system. The workflow is based on policies. The policies are rules associated with various entities such as the digital content, type of mobile devices, mobile users, network and the like. The workflow system includes an engine that generates the flow of instructions and other system components that facilitate the execution of the instructions.

Another object of the present invention is to provide services related to digital content apart from Digital Rights Management on the Java based digital content without installing additional software on the mobile devices.

Yet another object of the present invention is to provide services related to the digital content in all types of mobile devices. For example, services can be Digital Rights Management, content download, referring, and gifting the digital content.

Yet another object of the present invention is to provide services in mobile devices with open operating systems using a client, which is downloaded on the mobile devices.

In order to achieve the above-mentioned objects, the present invention discloses a novel method for dynamic service enablement of a digital content. Services related to the digital content are defined in a workflow system which is policy driven. The services may be added or deleted from the workflow system as and when required. In the case where the mobile devices used by the mobile users are Java enabled, the mobile service provider facilitates application of a wrapper to the digital content to enable these services. A mobile user downloads the digital content on a mobile device. The wrapper is downloaded along with the digital content. When the mobile user initiates a request for using the digital content, a platform deployed by the mobile service provider dynamically generates a set of options in the form of a catalog for the mobile user. The set of options is generated by applying policies to context information related to the mobile user. Each option facilitates a service related to the digital content such as using the digital content, purchasing a license, sharing the digital content with another mobile user, challenging another mobile user in a game, and gifting the digital content to another mobile user.

The mobile user is prompted to select an option from the set of options. Accordingly, the option selected by the mobile user is informed to the mobile service provider through the wrapper. The service related to the digital content is delivered according to the option selected by the mobile user. Further, advertisements related to various digital content, non-digital content, products, and services that may be of interest to the mobile user are displayed on the mobile device, after the request for using the digital content is initiated. The advertisements may include discount and subsidy offers. The advertisements are based on the context information.

In accordance with an embodiment of the present invention, the above mentioned objects are achieved by using mobile devices that function on open operating systems. The open operating systems support Java based as well as non-Java based digital content. In this case, a client is downloaded on the mobile device to enable the services dynamically. The client facilitates the download and management of the digital content. Further, the client facilitates the communication related to the enablement of services, between the mobile device and the mobile service provider. The option selected by the mobile user is informed to the mobile service provider through the client. Further, usage and execution of the digital content on the mobile device is facilitated through the client.

BRIEF DESCRIPTION OF THE DRAWINGS

The preferred embodiments of the invention will hereinafter be described in conjunction with the appended drawings provided to illustrate and not to limit the invention, wherein like designations denote like elements, and in which:

FIG. 1 is a block schematic of a system for distribution and management of digital content over mobile devices in accordance with an embodiment of the present invention;

FIG. 2 is a flow chart depicting basic steps of the invention in accordance with an embodiment of the present invention;

FIG. 3 illustrates a sample workflow in accordance with an embodiment of the present invention;

FIG. 4 is a flow chart depicting the method of registration of the digital content with a mobile service provider in accordance with an embodiment of the present invention;

FIG. 5 is a flow chart depicting the method of updating of digital content with the mobile service provider in accordance with an embodiment of the present invention;

FIG. 6 is a flow chart depicting the method of downloading of digital content for combined delivery in accordance with an embodiment of the present invention;

FIG. 7 is a flow chart depicting the method of downloading of digital content for separate delivery in accordance with an embodiment of the present invention;

FIG. 8 is a flow chart depicting the method of usage of digital content in case of combined delivery in accordance with an embodiment of the present invention; and

FIG. 9 is a flow chart depicting the method of usage of digital content in case of separate delivery in accordance with an embodiment of the present invention.

FIG. 10 is a schematic block diagram of a system for dynamically enabling services related to a digital content in accordance with an embodiment of the present invention;

FIG. 11 is a flow diagram depicting a method for dynamically enabling services related to a digital content in accordance with an embodiment of the present invention;

FIG. 12 illustrates an exemplary workflow in accordance with the an embodiment of the present invention; and

FIG. 13 is a flow diagram depicting a method for gifting the digital content to another mobile user in accordance with an embodiment of the present invention.

DESCRIPTION OF PREFERRED EMBODIMENTS

The present invention discloses a system and method for enforcement of Digital Rights Management (DRM) policies on digital content for their subsequent distribution from a mobile service provider to mobile devices and subsequent usage of the digital content on mobile devices.

The present invention further discloses a method and system for dynamic service enablement of digital content in heterogeneous environment. The heterogeneous environment includes mobile devices having different operating systems. The different operating systems include proprietary operating systems and open operating systems. The different operating systems may or may not support Java. Open operating systems expose API's for native application development. Examples of open operating systems include but are not limited to Symbian™, Microsoft Pocket PC™, and WinCE™. Further different network types such as Code Division Multiple Access (CDMA), General Packet Radio Service (GPRS), and Wireless Local Area Network (WLAN) are included in the heterogeneous environment. The services related to the digital content are dynamically enabled through implementation of a workflow based on policies, hereinafter referred to as a policy-based workflow.

In accordance with an embodiment of the present invention, the policy-based workflow is implemented by the mobile service provider through a wrapper applied to the digital content. The digital content is downloaded on a mobile device functioning on an operating system that supports Java. The operating system may be a proprietary operating system or an open operating system. In accordance with another embodiment of the present invention, the policy-based workflow is implemented by the mobile service provider through a client. In accordance with this embodiment of the present invention, the mobile device functions on an open operating system.

FIG. 1 is a block schematic of a system for distribution and management of digital content over mobile devices in accordance with an embodiment of the present invention. The setup shows a content provider 102, a mobile service provider 104 and a mobile device 106. Content provider 102 provides digital content to mobile service provider 104 that can be downloaded on mobile device 106. The digital content that can be executed on mobile device 106 is also referred to as an application. Mobile service provider 104 is the provider of voice and data communication services to users of mobile device 106. Content provider 102 can host all kinds of digital content and applications. This digital content is available for usage by mobile device 106 through mobile service provider 104. In addition to this, mobile service provider 104 may also host some of the digital content. Alternatively, mobile service provider 104 can host all of the digital content and in such case there is no need for content provider 102.

A business gateway 108 acts as an interface for information exchange between mobile service provider 104 and content provider 102 and vice versa. Business gateway 108 as described in an embodiment of the present invention, has been described in greater detail in patent application titled “Policy Service System and Methodology”, filed on Jun. 23, 2003, as U.S. application Ser. No. 10/601,397. The patent application is incorporated herein by reference as if fully set forth herein. Business gateway 108 authenticates content provider 102 to ensure that the digital content is being provided by a trusted content provider 102. Subsequently, content provider 102 is allowed to provide the digital content to mobile service provider 104 via business gateway 108. Mobile service provider 104 further comprises a DRM Packager 110, a Content Server 112, and a Licensing Server 114.

DRM Packager 110 is present on mobile service provider 104 and is responsible for generating rights to the usage of the digital content. In effect, DRM Packager 110 is responsible for generating a container, which is a digital wrapper around the digital content. Hence, the container consists of the digital content and optional digital rights that govern the usage of the digital content. The container enforces the digital rights on mobile device 106. The set of digital rights associated with the digital content is a license. Content server 112 is used to deliver the digital content to mobile device 106. FIG. 1 shows content server 112 to be present as a part of mobile service provider 104, in an embodiment. However, this is not a necessary requirement. In an alternate embodiment, if mobile service provider 104 does not host the digital content, content server 112 is present outside mobile service provider 104.

Licensing server 114 accepts HTTP (Hypertext Transfer Protocol) requests coming from mobile device 106. The address of licensing server 114 is embedded in the container that comes with the downloaded digital content. Hence, when the user makes a payment or requests for license update, the request directly goes to licensing server 114. If the user requests an update of the license, a Meta Controller then returns the possible upgrade options for the license. The Meta Controller as described in an embodiment of the invention, has been described in greater detail in patent application titled “Policy Service System and Methodology”, as described above. Licensing server 114 then sends an updated license to the user after the user agrees to make the required payment. The container, present on mobile device 106, updates the license. The payment is made transparently by means of a billing system. For example, if the user has subscribed through a pre-paid account, the user's account is charged for the required amount. If the user has a post-paid account, the user is charged in the monthly bill. In an alternate embodiment, the user can also be charged through a payment site. This depends on the charging model of the service decided by mobile service provider 104 and content provider 102 when the service is created. Further, licensing server 114 supports DRM standards such as Open Mobile Alliance (OMA) DRM 1.0, and OMA DRM 2.0.

In accordance with an embodiment of the invention, mobile device 106 is Java enabled. A Java enabled mobile device means mobile device 106 is capable of running all J2ME applications. J2ME applications run on mobile device 106 with the help of virtual machines. Examples of such virtual machines are Java Virtual Machine (JVM), Kilobyte Virtual Machine (KVM). These virtual machines are well known in the prior art.

FIG. 2 is a flow chart depicting the basic steps of the invention in accordance with an embodiment of the present invention. To make the digital content hosted by content provider 102 available to the mobile device user, content provider 102 needs to register the digital content with mobile service provider 104, as shown in step 202. The registration process includes generation of the license that determines the default usage conditions of the digital content and enables charging for the downloaded content, as shown in step 204. The license also prevents the digital content to be forwarded to other users of mobile device 106. This prevents illegal distribution of the digital content amongst users of mobile devices similar to mobile device 106, once content has been downloaded onto mobile device 106. Once downloaded, the license is stored in memory of mobile device 106 in area called Record Management Store (RMS). The RMS can be accessed only by the digital content for which the license is created. No other digital content is given the rights to access this memory space in mobile device 106. Even if the digital content is copied to another mobile device similar to mobile device 106, the digital content cannot be used because the corresponding license will not be present in its RMS. This method ensures that the digital content cannot be used even if it is copied to some other mobile device. Thus, the data in the RMS can only be read only by a related digital content and cannot be copied to another mobile device.

The mobile user finds out about the digital content available for download through a web browser that is present on mobile device 106 by surfing a web portal of mobile service provider 104, as shown in step 206. In step 208, the mobile user requests and initiates the download of the digital content that he/she intends to use. The delivery of the digital content to mobile device 106 is done by Content Server 112. The delivery of the digital content can be done in two different ways—combined and separate delivery. The kind of delivery is chosen at the time of delivering the digital content is decided by the agreement between mobile service provider 104 and content provider 102. This is accomplished at step 210.

In combined delivery, the digital content wrapped with the license determining the usage conditions of the digital content is sent to mobile device 106 on request from the mobile device user, as shown in step 212. In separate delivery, the digital content is delivered to the mobile device user without any license embedded with it, as shown in step 214. In this case, the license is obtained from mobile service provider 104 when the digital content is used for the first time, as shown in step 216. Separate delivery in this way facilitates superdistribution where the digital content/application can be forwarded to users of mobile device similar to mobile device 106 without the license. A mobile device user who has received the digital content from another mobile device user can use the digital content in the same manner as mobile device user who received the application directly from mobile service provider 104 on the basis of the conditions of use specified in the attached license. Further, the superdistribution may be achieved through email, Bluetooth, infrared, WAP, Compact Disc (CD), binary Short Messaging Service (SMS), and the like.

A user of mobile device 106 can use the downloaded content as per the conditions set in the license, as shown in step 218. At step 220, it is checked whether the usage conditions that are specified in the license have expired. If yes, a connection of mobile device 106 is made with licensing server 114. The user is then given the options, such as the option of either buying the digital content for unlimited use or upgrading the license for a specified number of accesses. Based on the user's choice, the user is prompted for fulfilling certain preconditions, such as making necessary payments. This is shown in step 222. After the user has fulfilled the required preconditions, licensing server 114 upgrades the license and delivers the new license to mobile device 106. This is shown in step 224. The generation, updating of the license and the implementation of rights through the license for use of the digital content is achieved through Rights Workflow.

Rights Workflow as described in an embodiment of the present invention, has been described in greater detail in patent application titled “Policy Service System and Methodology” as described above. A brief description of Rights Workflow is provided here.

Rights Workflow defines the execution message sequence flow, that is, it allows for the rights to be processed through a series of workflow steps. A particular digital content can have one or more workflows associated with it. Each workflow is executed based on prevailing conditions. When a request for a license is made, licensing server 114 interrogates the workflow to ensure that the workflow integrity is maintained.

The workflow has a start state with multiple end-points. That is, the digital content can be assigned different rights at different stages of use. This is specified by a Rights Information Model. The rights information model specifies the rights associated with the digital content, the time period of the rights, the access conditions and the associated fees. The generated license comprises constraints parameters and requirement parameters. The constraints parameters are used to enhance the permissions by allowing fine-grained control of the application. The constraints parameters comprise a count of the number of times the application is permitted for use and the shelf life of the digital content. After the expiry of the shelf life mentioned in the license, the digital content cannot be used without getting the license renewed or updated. The requirement parameters, however, are the obligations that need to be fulfilled in order to exercise the permissions. For example, the requirement of paying $5 each time a video is played, without which the video will not be played is a requirement parameter. As a combination, the constraints parameters and the requirement parameters enable the enforcement of multiple business models.

In accordance with an embodiment of the present invention, the Rights Workflow is implemented as a workflow based on policies. The policies are associated with the various entities which include but are not limited to the digital content, types of mobile devices, profiles of the mobile users, network, network geography, and the like. The network geography is the location or the area in which the mobile user is connected to the network. The policies encompass DRM, licensing, referring, and gifting of the digital content, recommending related digital content, offering subsidized digital content, displaying advertisements, and the like.

After the digital content is downloaded on mobile device 106, the container maintains the current state of the license. The container is described in greater details later in the description.

FIG. 3 illustrates a sample workflow in accordance with an embodiment of the present invention. The sample workflow illustrates Rights Workflow and Rights Information Models implementation for Java-based digital content. To illustrate how the Rights Workflow and Rights Information Models work as a series of workflow steps, consider three different rights as follows:

Rights R1: Rights to use for 2 times for free.

Constraints parameter: Use allowed for 2 times

Requirement parameter: None

Rights R2: Rights to use for 5 times for a payment of $1.

Constraints parameter: Use allowed for 5 times

Requirement parameter: $1

Rights R3: Rights to use for unlimited number of times for $5.

Constraints parameter: Use allowed for unlimited number of times.

Requirement parameter: $5.

In step 302 of the workflow, the license with rights R1 that is associated with a particular digital content is sent with downloaded digital content on mobile device 106.

The container keeps track of the number of times the digital content has already been used and maintains the stage of the workflow. When the number of times the digital content is used becomes greater than two, a connection is made with licensing server 114. Licensing server 114 contacts the Meta Controller that checks the stage of workflow. The Meta Controller then returns the possible upgrade options, that is, rights R2 or rights R3 in the present example. This is achieved in step 304 of the workflow. A license is created based on the rights returned by the Meta Controller to licensing server 114. If rights R3 are chosen, the same is delivered to the user and mobile device 106 does not need to contact licensing server 114 again, as shown in step 306 of the workflow. However, if rights R2 are chosen, the same is delivered to the user, as shown in step 308 of the workflow. In this case, the process of upgrading is repeated on the expiry of rights R2 and the user is again given the choice of either opting for rights R2 or rights R3.

A license to any digital content is constructed using a combination of several license parameters.

For example, a license containing rights can look like: <license-data>   <license-constraints>     <name>DefaultConstraintCount</name>     <type>0</type>     <value>2</value>   </license-constraints>   <license-options>     <name>DefaultRightPayForFullRights</name>     <caption>Unlimited for Price USD 5</caption>   </license-options>   <license-options>   <name>DefaultRightPayFor5Views</name>   <caption>Play 2 times for Price 1</caption>   </license-options> </license-data>

This is a license for unlimited usage for 5 dollars.

FIG. 4 is a flow chart depicting the method of registration of the digital content with a mobile service provider in accordance with an embodiment of the present invention. The method of registration is applicable to Java based digital content. At step 402, mobile service provider 104 obtains the digital content from content provider 102 in the form of JAD and JAR files. JAR is the acronym for Java Archive. A JAR file is a file that contains the class, image, and sound files for a Java applet gathered into a single file and compressed for faster downloading to the user's Web browser. The JAR format is based on the zip file format. Therefore, the digital content is encoded in the JAR format to reduce its size. Further, JAR encoded content is compatible for use with Java-enabled mobile devices. JAD is the acronym for Java Application Descriptor. JAD is a description of the Java application. A JAD contains the description of the JAR in terms of the size of the JAR, the location of where the JAR resides, the version of the JAR etc. In an embodiment, the content from content provider 102 is obtained by “pull” technology. The server (on mobile service provider 104) fetches the content (based on the URL provided) from content provider 102 after the registration process. In an alternate embodiment, content provider 102 can also provide content on the basis of “push” technology. In such a case, content provider 102 updates the content periodically, or whenever there is an update in the hosted contents.

At step 404, it is checked whether content provider 102 or mobile service provider 104 hosts the digital content. If content provider 102 hosts the digital content, a unique key for the JAR file fetched in step 402 is created, as shown in step 406. Any well-known encryption algorithm, such as MD5, can be used to generate the key from the JAD. A sample key may look like 6b696d697461435355504552454e47. The key is generated at the time of registration and is stored in a database inside mobile service provider 104. When the user tries to download, this key is generated again and checked against the key stored in the database. This ensures that the digital content is not tampered with and it is free from software viruses.

At step 408, the entry point of the application is extracted from the JAD file. After extracting the entry point of the digital content being registered, at step 410, a container is generated for the digital content. The container is a Digital Rights Management layer that is wrapped around the digital content to be protected to prevent its misuse. The container is generated on the basis of requirements of content provider 102.

The above point can be explained further by means of an example.

MIDlet-Name: TicTacToe

MIDlet-Vendor: Forum Nokia

MIDlet-Version: 1.1.0

MIDlet-Jar-Size: 8949

MIDlet-Jar-URL: TicTacToe.jar

MIDlet-1: TicTacToe, /tictactoe.png, example.tictactoe.TicTacToeMIDlet

MIDlet-Description: A Brief Introduction to MIDP Graphics

The above is an example of a JAD file with an entry point as TicTacToeMIDlet. This entry point to the digital content is extracted from the JAD file and it is replaced by another entry point. This is the entry point for the container used for protection of the digital content. In the present example, example.tictactoe.TicTacToeMIDlet is replaced by example.tictactoe.JulyCDWrapper. The resulting file is as shown below:

MIDlet-Name: TicTacToe

MIDlet-Vendor: Forum Nokia

MIDlet-Version: 1.1.0

MIDlet-Jar-Size: 15921

MIDlet-Jar-URL: TicTacToe.jar

MIDlet-1: TicTacToe, /tictactoe.png, example.tictactoe.JulyCDWrapper

MIDlet-Description: A Brief Introduction to MIDP Graphics

At step 412, the license is generated. The license contains a set of permissions, constraints, and requirements for the application. It defines the permission parameters that grant rights to the application.

After the creation of the license, a new JAD file is created at step 414. This JAD file is exposed to the user who accesses the file through the web browser of mobile device 106. In accordance with an embodiment of the invention, the JAD file is reflected as a service in the service catalogue of mobile service provider 104. After the creation of the JAD file, a new JAR file is created at step 416. The resulting file is the complete application with the container containing the license, and the digital content.

At step 418, the JAR file created in step 416 is encoded to reduce its size and to make reverse engineering of the protected digital content as difficult as possible. The digital content and the license that is wrapped to the digital content are in Java. There is a danger that this application is reengineered back to Java code. In accordance with an embodiment of the invention, obfuscation of the Java application is done. Obfuscation can be done on the class name, method names and attribute names, which form a large part of the program code. The business logic of the code and any data in the code is not changed. The process of obfuscation can be explained by means of a simple example: method getParameters( ) is changed to a( ) after obfuscation. This leads to reduction in the size of the application and the wrapped rights object.

At step 420, the JAD and JAR files are tested on a variety of devices and emulators present on mobile service provider 104 to check whether the files generated as a result of the registration process function as expected or not. In order to test the new JAR, a number of toolkits existing in the art may be used. These toolkits simulate the manner in which a license is processed/executed when the user downloads Java based content on the device. Some examples of these toolkits are Sun's J2ME Toolkit manufactured by Sun Microsystems, Santa Clara, Calif., US, Sprint PCS Toolkit manufactured by Sprint PCS, Overland Park, Kans., US and Nokia 7210 Emulator Phone, Nokia 6650 Emulator Phone and Nokia 7210 Real Phone manufactured by Nokia, Espoo, Finland.

Finally, at step 422, the JAD files are stored on Content Server 112 so that they are available for download. This completes the process of registration of the digital content from content provider 102 on mobile service provider 104. In accordance with an embodiment of the invention, the digital content made available at content server 112 is in the form of content descriptors. Content descriptors as described in an embodiment of the invention, has been described in greater detail in patent application titled “Policy Service System and Methodology” as described above.

If mobile service provider 104 hosts the Java based digital content instead of content provider 102 as checked in step 404, step 406, as already discussed, is skipped. Further, in step 422, both the JAD and JAR files are stored on Content Server 112 so that they are available for download. The rest of the steps for registration of the digital content remain the same as described above.

During the process of registration of the digital content with mobile service provider 104, content provider 102 can also participate in the definition of parameters that form the license. Mobile service provider 104 fetches the digital content and interprets the parameters. This is done by means of Open Digital Rights Language (ODRL). ODRL is a rights expression language. The ODRL specification supports an extensible language and vocabulary (data dictionary) for the expression of terms and conditions over any digital content including permissions, constraints, obligations, conditions, and offers and agreements with rights holders. The ODRL specification does not have any licensing requirements and is free to use. The specifications of ODRL can be obtained from www.odrl.net. Using this scheme, the present invention can be used to create a new license for the digital content for which the original license provided by content provider 102 has expired.

FIG. 5 is a flow chart depicting the method of updating of Java based digital content with the mobile service provider in accordance with an embodiment of the present invention. At step 502, content provider 102 invokes the updating procedure. As already mentioned, the updating procedure can be based either on “push” technology, or on “pull” technology. At step 504, it is checked whether mobile service provider 104 hosts the digital content or content provider 102 hosts the digital content. If mobile service provider 104 hosts the digital content, both the JAD and JAR files for the digital content are updated at step 506. In case the content provider 102 hosts the digital content, only the JAD file is updated and old JAR file is discarded as depicted in step 508. Subsequently, at step 510, it is checked whether the entry point of the digital content is changed or not. If the entry point of the digital content is changed, then the procedure for registration as described earlier and shown in FIG. 4 is followed, as depicted in step 512. If the entry point of the digital content is not changed, at step 514, the old JAR file is simply replaced by the new JAR file. This step concludes the process of updating the digital content.

FIG. 6 is a flow chart depicting the method of downloading of the digital content for combined delivery in accordance with an embodiment of the invention. In step 602, the user of mobile device 106 uses a service catalogue to search by means of web browser present on mobile device 106 for the digital content that he/she may want to download. The user can also search for the digital content by accessing the web portal hosted by mobile service provider 104. In this case, the user accesses the web portal by means of a computer connected to the Internet. The service catalogue as described in an embodiment of the present invention, has been described in greater detail in patent application titled “Policy Service System and Methodology”, as described above. In step 604, the user accesses the JAD file that is created on mobile service provider 104. In case the user wants to download the digital content, the user requests for the JAR file residing in a server hosted by content provider 102, as shown in step 606. In step 608, licensing server 114 downloads the JAR file from content server 112. In step 610, a check is performed to find whether the digital content is hosted by mobile service provider 104 or content provider 102. If content provider 102 hosts the digital content, an integrity check is performed to check whether the digital content has been tampered with and to ensure that the digital content is not affected by a software virus, as shown in step 612. If the key generated for the digital content is the same as the key for the digital content registered with business gateway 108, the integrity check is successful. In step 614, the license governing the use of the digital content is generated. In case mobile service provider 104 hosts the digital content, the integrity check as described in step 612 does not need to be performed. Further, the generation of the license as in step 614 is not needed as the license is generated during the registration process itself. In step 616, the new JAR file is sent to the user with the container containing the license.

FIG. 7 is a flow chart depicting the method of downloading of digital content for separate delivery in accordance with an embodiment of the invention. In step 702, the user of mobile device 106 uses a service catalogue to search by means of web browser present on mobile device 106 for the application that he/she may want to download by accessing the web portal hosted by mobile service provider 104. In step 704, the user accesses the JAD file that is created on mobile service provider 104. In case the user wants to download the digital content, the user requests the JAR file residing in a server hosted content provider 102, as shown in step 706. In step 708, licensing server 114 downloads the JAR file from content server 112. In step 710, a check is performed to find whether the digital content is hosted by mobile service provider 104 or content provider 102. If content provider 102 hosts the digital content, an integrity check is performed to check whether the digital content has been tampered with and to ensure that the digital content is not affected by a software virus, as shown in step 712. If the key generated for the digital content is the same as the key for the digital content registered with business gateway 108, the integrity check is successful. In the case when mobile service provider 104 hosts the digital content, the integrity check as described in step 712 does not need to be performed. In step 714, the new JAR file is sent to the user with the embedded container but without the license in it.

Further, the digital content may be downloaded through CD, Bluetooth, Infrared, WAP, email, binary SMS, and the like. In case where a Java enabled mobile device is used, the wrapper is downloaded along with the digital content. In case where a mobile device is using an open operating system and the digital content is not Java-based, the digital content is downloaded in a different manner as described in conjunction with FIG. 11.

FIG. 8 is a flow chart depicting the method of usage of digital content in case of combined delivery in accordance with an embodiment of the present invention. In step 802, when the user first uses the digital content downloaded on mobile device 106, the user uses the digital content based on the license that is embedded with the digital content. The user uses the digital content by means of controls and user interface present on mobile device 106. In step 804, it is checked whether the license has expired or not. If the license is still valid, the user is allowed to use the digital content, again based on the conditions in the license. However, if in step 804, it is found that the license has expired, a connection between mobile device 106 and licensing server 114 is established. On connection with licensing server 114, the user is prompted to buy the digital content or upgrade the present license, as shown in step 808. In step 810, the user is prompted to make necessary payments based on his/her choice. In step 812, the license is updated based on the user's preference and the updated license is delivered to mobile device 106.

FIG. 9 is a flow chart depicting the method of usage of digital content in case of separate delivery in accordance with an embodiment of the present invention. In step 902, on the first launch of the application by the user, a connection is made between mobile device 106 and licensing server 114 to obtain the license associated with the application. After obtaining the license, the user can use the digital content based on the conditions defined in the license, as shown in step 904. In step 906, it is checked whether the license has expired or not. If the license is still valid, the user is allowed to use the digital content, again based on the conditions in the license. The user uses the digital content by means of the controls and the user interface present on mobile device 106. However, if in step 906, it is found that the license has expired, a connection between mobile device 106 and licensing server 114 is made. On connection with licensing server 114, the user is prompted to buy the application or upgrade the present license, as shown in step 910. In step 912, the user is prompted to make necessary payments based on his/her choice. In step 914, the license is updated based on the user's preference and the updated license is delivered to mobile device 106.

FIG. 10 is a schematic block diagram of a system 1000 for dynamically enabling services related to the digital content, in accordance with an embodiment of the present invention. System 1000 includes mobile service provider 104 and a mobile device 106. Mobile service provider 104 includes a mobile application server 1002 and a content management system 1004. Content management system 1004 is an extension of content server 112. Mobile application server 1002 includes a User Interaction Workflow Engine (UIWE) 1006, licensing server 114, a messaging unit 1008, a context server 1010, a charging unit 1012, and a Service Control and Execution Unit (SCEU) 1014. Content management system 1004 includes a catalog creation unit 1016, a content packager 1018, a content server 1020, and an advertisement server 1022. In accordance with an embodiment of the present invention, mobile service provider 104, mobile device 106 and licensing server 114 are the elements as described in conjunction with FIG. 1. In accordance with various embodiments of the present invention, the elements may have zero or more extended functionalities.

Mobile application server 1002 is a server deployed by mobile service provider 104 for facilitating dynamic enablement of services related to the digital content. Further, content management system 1004 is another server deployed by mobile service provider 104. Content management system 1004 hosts the digital content, the services related to which are dynamically enabled for mobile users. Content management system 1004 stores the digital content and exposes interfaces for one or more content providers 102 and retailers to create and change the services. Content provider 102 has been described in detail in conjunction with FIG. 1 and not shown in FIG. 10 for ease of comprehension of the figure. The retailers may be mobile service provider 104 or an enterprise selling the digital content. Thereafter, the services are provisioned into mobile application server 1002 and made available to the mobile users. Mobile application server 1002 and content management system 1004 together form a platform for the dynamic service enablement of a digital content. The platform may be present in a network operator, an enterprise or one or more mobile service providers depending upon functions performed by various components and sub-components of the platform.

Policies are associated with various entities. Examples of such entities include but are not limited to digital content, mobile users, mobile devices, network, network geography, and prices and ratings of the digital content. The network geography defines the area or the location in which the mobile user is connected to the network. The policies include rules that allow usage of the digital content. For example, the rules for rights of digital content, referring the digital content, showing advertisement, and allowing user to gift the digital content. An example of a rule may be offering subsidized unlimited license to a mobile user who has referred a game to five other mobile users. The policy-based workflow is implemented on the digital content by the wrapper or the client.

Content management system 1004 manages offline attributes of the dynamic service enablement of the digital content. Catalog creation unit 1016 is software that creates catalogs of the digital content and related services that are available to the mobile user. For example, a catalog of the digital content includes games, wall papers, screen savers, music, and tones. Where the mobile user is using mobile device 106 with an open operating system, the digital content may include Symbian applications and native applications. The open operating system supports Java-based as well as non-Java based digital content. Further, a catalog of services related to a game includes services such as play the game, refer the game to another mobile user, challenge a friend, and gift a friend. The catalog creation unit 1016 upgrades the existing catalogs when a new digital content or a service is made available to the mobile users.

Content packager 1018 is an extension to DRM packager 110. Content packager 1018 allows creation of the wrapper for the digital content. The wrapper may be created for implementing DRM or dynamic service enablement of the digital content based on requirement of mobile service provider 104.

In accordance with an embodiment of the present invention, content packager 1018 associates the policies to the digital content. Further, content packager 1018 applies the wrapper to the digital content. The wrapper facilitates implementation of the policy-based workflow on the digital content, when the digital content is downloaded by the mobile user. As a result, the wrapper acts as a policy-based-workflow enforcer for dynamic service enablement.

Content packager 1018 is present in content management system 1004 if mobile device 106 is Java enabled. In this case, content packager 1018 applies the wrapper to Java based digital content. In accordance with an embodiment of the present invention, mobile device 106 has an open operating system that does not support Java. Consequently, the policy-based workflow is implemented in a different manner. In this case, the wrapper is not applied to the digital content. Therefore, the wrapper is not downloaded along with the digital content. However, a client is installed on mobile device 106. The client is installed before downloading the digital content. After its installation, the client facilitates implementation of the policy-based workflow on the digital content. Furthermore, the client performs all the functions of the wrapper. The functions performed by the client include downloading digital content and enabling the services related to the digital content.

Content server 1020 functions in a manner similar to content server 112. Content server 112 delivers the digital content along with the wrapper to mobile device 106 through mobile application server 1002. Further, the digital content along with the wrapper may be downloaded on mobile device 106 through Web, email, Compact Disc (CD), Bluetooth, Infra red, WAP, binary SMS and the like. In case where an open operating system is being used, the client is downloaded through the same means.

Advertisement server 1022 delivers advertisements based on the context information. Advertisement server 1022 comprises an advertisement database. Further, the advertisement database interacts with context server 1010 to collect the context information. The context information includes the information about the mobile user profile, preferences of the mobile user, type of mobile device 106, network of the mobile user, network geography, time of the day, events associated with the day, and the like. The network geography includes the area in which the mobile user is connected to the network. The events associated with the day may include celebration occasions, holidays, birthday of the mobile user, sports events, and the like. In accordance with an embodiment of the invention, the context information may be collected from a context database of a partner mobile service provider. Further, advertisement server 1022 determines the advertisements that should be delivered to the mobile user on the basis of the context information. The determined advertisements are delivered to the mobile user on mobile device 106. The delivery is enabled through mobile application server 1002 and the wrapper or the client.

Messaging unit 1008 and charging unit 1012 are service delivery functions of mobile application server 1002. Messaging unit 1008 includes standard blocks of mobile service provider 104. For example, means for delivering Short Messaging Service (SMS), Multimedia messaging Service (MMS), and means for enabling WAP push messages. Charging unit 1012 includes means for implementing charging mechanisms like operator billing, billing aggregator, premium SMS, credit-card, WAP billing, debit card, Automatic Clearing House (ACH), and mobile-wallet (m-wallet). Charging unit 1012 interacts with operator billing system and Short Messaging Service Centre (SMSC).

UIWE 1006 is a rule-based engine for generating a dynamic catalog of services for the mobile user. Further, UIWE 1006 is an interface between the wrapper and mobile application server 1002. The wrapper has the address of UIWE 1006 embedded into it. The digital content is downloaded on mobile device 106 along with the wrapper. When the mobile user initiates a request for using the digital content, the request is received at UIWE 1006. UIWE 1006 collects the context information which is related to the mobile user. For example, the context information includes the type of mobile device 106, the network of the mobile user, the network geography, the profile of the mobile user, the preferences of the mobile user, the time of the day, the events associated with the day, and the like. The context information is collected as user Identifier (ID), device ID, network etc. Thereafter, UIWE 1006 applies the policies on the context information of the mobile user to generate a set of options for the mobile user. The set of options is formulated in run time by UIWE 1006. Each time a new request is received, a new set of options is generated. Each option from the set of options facilitates a service related to the digital content. For example, for a mobile user requesting to play a soccer mobile game and having a mobile device supporting video, the set of options may be, play another soccer video game, download soccer video clips, refer the soccer game to a friend, and challenge a friend. The friend is another mobile user. The option selected by the mobile user is further informed to UIWE 1006 through the wrapper. As a result, UIWE 1006 may generate another set of options. Further, UIWE may inform SCEU 1014 about the option selected by the mobile user. Further, SCEU 1014 directs license server 114, messaging unit 1008 or charging unit 1012 to deliver the service or a license according to the option selected by the mobile user.

In accordance with an embodiment of the present invention, where mobile device 106 works on the open operating system, UIWE 1006 provides an interface between the client and mobile application server 1002. Further, UIWE 1006 communicates with mobile device 106 through the client in place of the wrapper.

Context server 1010 is a database of context information. The context information is retrieved each time a request for using the digital content is initiated by a mobile user. In accordance with an embodiment of the present invention, context information 1010 may not be present in mobile application server 1002. The context information is therefore available on the context database of the partner service provider. Consequently, UIWE 1006 and advertisement server 1022 connect to the partner service provider for retrieving the context information.

Service Control and Execution Unit (SCEU) 1014 executes and controls the workflow in mobile application server 1002. SCEU 1014 defines a control workflow, on the basis of which mobile application server 1002 operates. The control workflow includes instructions between any two out of license server 114, messaging unit 1008, charging unit 1012, context server 1010, UIWE 1006, and the wrapper in mobile device 106. Further, the instructions from the wrapper are received at UIWE 1006 only. In case of mobile device 106 installed with the open operating system, the wrapper is not present and the client participates in the workflow. As mentioned earlier, SCEU 1014 is rule based software that determines the source, destination and timing of the instructions in mobile application server 1002. In accordance with an embodiment of the present invention, SCEU 1014 and UIWE 1006 may be enabled with same software. Further, the delivery of the digital content and license to mobile device 106 is facilitated from other units such as messaging unit 1008, licensing server 114, and charging unit 1012.

FIG. 11 is a flow chart depicting a method for dynamically enabling services related to a digital content in accordance with an embodiment of the present invention. At step 1102, the service policy is associated with the digital content by mobile service provider 106. The wrapper is applied to the digital content to facilitate implementation of the policy-based workflow. At step 1104, the digital content is downloaded by the mobile user. The digital content may be downloaded through mobile application server 1002 or through Web, email, CD, Bluetooth, Infra red, WAP, binary SMS, and the like. The wrapper is downloaded along with the digital content. At step 1106, a request for using the digital content is initiated by the mobile user. The request is sent to UIWE 1006. At step 1108, UIWE dynamically generates a set of options for the mobile user. The set of options is generated as a result of application of policies to the context information. Each option facilitates a service related to the digital content. Further, the mobile user is prompted to select an option from the set of options. At step 1110, the display of one or more advertisements is facilitated for the mobile user. The advertisements may be related to digital content, non-digital content, products and services that are available at marked or discounted prices and that may be of interest to the mobile user. The advertisements are based on the context information related to the mobile user. The advertisements are displayed with user options. The user options prompt the mobile user to perform an action such as purchase, get a trial version, register later, and the like related to the displayed advertisement. The mobile user selects an option from the user options and the set of options. At step 1112, mobile service provider 104 is informed about the option selected by the mobile user. At step 1114, the service related to the digital content is delivered to mobile device 106 according to the option selected by the mobile user.

In accordance with an embodiment of the present invention, when mobile device 106 is functioning on an open operating system that supports Java-based as well as non-Java-based digital content, the wrapper is not applied to the digital content. Further, the wrapper is not downloaded along with the digital content. However, in such a case, a client is downloaded and installed on mobile device 106. The client is downloaded before downloading the digital content. Thereafter, the client enables interaction between mobile device 106 and UIWE 1006. The interaction includes the download of the digital content from mobile application server 1002. Further, the interaction includes management of the digital content on mobile device 106. The management includes enablement of the services related to the digital content. The services include executing the digital content, purchasing a license, purchasing related digital content, accessing vault, sharing the digital content with another mobile user, gifting the digital content to another mobile user, online rating the digital content, facilitating display of advertisements, implementing DRM policies, and the like. The services related to the digital content have been described in conjunction with FIGS. 12 and 13.

FIG. 12 is a flow diagram depicting an exemplary workflow in accordance with an embodiment of the present invention. As mentioned in the previous flow diagram, the set of options is generated when the request for using the digital content is initiated. Different types of services related to the digital content are facilitated by the set of options. The set of options are presented to the mobile user in the form of a catalog. For example, an option at step 1202 facilitates using the digital content. Further, another option at step 1204 facilitates referring the digital content to other mobile users. If the mobile user selects the option of using the digital content, a further set of options is dynamically generated. At step 1206, UIWE 1006 facilitates checking if the mobile user initiates the use for the first time or if an existing license is expired. If the license is expired, then at step 1208, the option of purchasing a license is enforced. The context information in this case includes the mobile user ID with an expired or no license associated with it. The policies enforce a license such that the license has to be purchased by making a payment, before using the digital content. If the existing license is not expired, then a further set of options is generated. For example, the option at step 1210 facilitates executing the digital content, the option at step 1212 facilitates accessing vault, and the option at step 1208 facilitates purchasing a license.

One or more options may further be generated allowing the mobile user to buy a license according to his choice. For example, the mobile user may choose to purchase a license for playing a game five times or he may choose to purchase a license for unlimited usage of the game. The options are generated based on the context information. The one or more options of licenses may be generated by using the present assignee's patent application titled ‘Method and System for Dynamic Multilevel Licensing of mobile Data Services’ with U.S. patent application Ser. No. 10/954,857; which is incorporated by reference as set forth herein in its entirety; or by any other suitable technique. The option of purchasing a license (step 1208) is also generated in case the license is not expired. In this case, the license may be purchased for higher versions or more usage of the digital content.

The vault is a personal online storage space provided to the mobile user when the mobile user purchases the digital content. If the option of accessing vault (step 1212) is selected then UIWE 1006 may generate further options like view content in a personal online storage and download content in the personal online storage. Further, option at step 1213 facilitates viewing related digital content which allows the mobile user to browse the online catalogs of the related digital content. The option of viewing related digital content is generated based on the request initiated by the mobile user at step 1106 and the context information. For example, if the mobile user initiates a request for using a soccer game and the mobile device used by the mobile user supports video, then a catalog of video soccer games is generated for the mobile user to view, purchase or avail at a discount or for free. Consequently, the mobile user can purchase any of the digital content. The purchase takes place through the charging mechanism such as operator billing, credit card, m-wallet, debit card, ACH and the like. Furthermore, an option of receiving a related digital content for free allows the mobile user to receive free related digital content. The mobile user may share or gift the related digital content to another mobile user also.

Further, an option of viewing more digital content may also be generated, where the more digital content is not related to the request initiated by the mobile user and the context information. The related digital content and the more digital content may be any downloadable digital content compatible with the mobile device on which it is being downloaded. The examples of the related digital content and the more digital content include but are not limited to J2ME applications, games, screen savers, tones, music, video clips, Multimedia Messaging Service (MMS), informational services, and wall papers. The informational services include news, sports updates, business updates, horoscope, currency changer, and the like.

If the mobile user selects the option of referring the digital content to another mobile user (step 1204), a second further set of options is generated. For example, the option of sharing the digital content (step 1214), the option of challenging a friend (step 1216), and the option of gifting the digital content to a friend (step 1218). As mentioned earlier, the friend can be another mobile user. The option of sharing the digital content allows the mobile user to share the digital content with other mobile users. Similarly, challenging a friend allows the mobile user to use a digital content in competition with another mobile user.

As an example, a catalog described below is presented to a mobile user, who has downloaded a soccer game:

1. Top 5 Downloads

2. More sports games

3. Recommended games for you

4. People who purchased this also liked

The catalog is generated on the basis of the mobile user's profile, the mobile user's purchase history and the policies. The option of ‘top five downloads’ is presented as a policy. The mobile user has downloaded a soccer game. Therefore the option of ‘more sports games’ is generated based on the mobile user's profile. The ‘more sports games’ are based upon the preferences of the mobile user. Further, the option of recommended games' is generated on the basis of the mobile user's profile. The option of ‘people who purchased this also liked’ is generated on the basis of mobile user purchase history associated with that game.

FIG. 13 is a flow diagram depicting the method for gifting the digital content to another mobile user, in accordance with an embodiment of the present invention. When the option of gifting the digital content to a friend is selected, then the policy-based workflow shown in FIG. 13 is generated by UIWE 1006. The policy-based workflow is implemented by the wrapper or the client. At step 1302, a phonebook is displayed to the mobile user on mobile device 106. The mobile user selects another mobile user from the phonebook or selects a new contact as another mobile user. Further, at step 1304, the mobile user is prompted for the confirmation of a charge of the digital content. When the mobile user confirms the charge of the digital content on mobile device 106, then at step 1306, the confirmation is communicated to UIWE 1006 through the wrapper. In case mobile device 106 is functioning on open operating system, and non-Java based digital content, this is communicated by the client. At step 1308, a WAP push is sent to the other mobile user with a gift message to determine the mobile device being used by the other mobile user. Thereafter, UIWE 1006 determines the form of digital content that is compatible with the determined mobile phone. Thereafter at step 1310, the compatible digital content is sent to the other mobile user. Further, at step 1312, the charge of the digital content is committed to the mobile user. The other mobile user may browse the catalogs of the related digital content and may also purchase some more digital content.

The services that may be dynamically enabled to the mobile users further include but are not limited to community services like chat, voting, and rating the digital content. Further, tournament services are also enabled. For example, in games which are points based, the mobile user can view and post scores to the leader board. Prizes may be associated with the tournament.

The advertisements may be displayed in a form and manner based on the context information. The context information is the information related to the mobile user. The advertisements are displayed when the mobile user interacts with the downloaded digital content. A rule may enforce a new advertisement to be displayed each time the advertisement is to be displayed.

In accordance with an embodiment of the present invention, another rule may define a service on the basis of the context information. The rule may enforce the service to be displayed after the digital content has been used for a predefined number of times by the mobile user. The service based on the context information is displayed in place of the advertisements.

In accordance with another embodiment of the present invention, an advertisement is displayed for predefined time duration before displaying the set of options to the mobile user.

In yet another embodiment of the present invention, the advertisement may be displayed as a banner when the wrapper or the client is making a connection with mobile service provider 104.

To summarize, in an embodiment of the invention, a mobile service provider provides digital content to mobile users using Java enabled mobile devices. Further, the digital content is provided to mobile users using mobile devices with open operating systems that support Java as well as non-Java based digital content. In accordance with an embodiment of the invention, the digital content is provided in collaboration with a content provider. The mobile service provider can also host the digital content. To make the digital content available to the mobile users, the digital content needs to be registered with the mobile service provider. Further, to protect the digital content and to regulate how the digital content is used by mobile users, a license is generated for the digital content as a part of the registration process. The license defines the initial conditions based on which, that particular digital content can be used, once it is downloaded on the mobile device. The license enables the implementation of DRM policies on the digital content. The license also prevents the digital content to be forwarded or copied to other users.

The mobile user discovers the digital content on the mobile service provider's web portal or by a service catalogue present on the mobile service provider by means of a web browser on the mobile device. Once a user requests the download of some digital content, the same is delivered to the user's mobile device by the mobile service provider. There are two methods of delivering the digital content to the mobile user—combined and separate delivery. In combined delivery, the downloaded digital content includes a license embedded with it. In separate delivery, however, the license is not included with the digital content being downloaded. In this case, the license is obtained from the mobile service provider when the digital content is used for the first time. Separate delivery in this way facilitates superdistribution where the digital content can be forwarded without the license.

A user can use the digital content on the basis of the conditions in the license associated with it. When the license expires, the user is prompted to pay for upgrading the license for further use of the digital content. On the necessary payments being made by the user, the license is upgraded and the user can continue to use the downloaded digital content. The user may upgrade the license even before an existing license has expired.

In accordance with an embodiment of the present invention, the mobile service provider dynamically enables services related to the digital content. The services are enabled on mobile devices operated with different operating systems. The digital content is associated with policies and is hosted by the mobile service provider. The mobile user discovers the digital content and downloads the digital content on his/her mobile device. In accordance with an embodiment of the present invention, the wrapper is downloaded along with the digital content. Thereafter, the mobile user initiates a request for using the digital content. The request is processed by a rule based engine in the mobile service provider. The rule based engine collects context information and applies the policies to the context information. The context information is information related to the mobile user. Consequently, an interactive set of options is dynamically generated for the mobile user. Finally, the service is delivered to the mobile user or to other mobile users. The delivery is according to the options selected by the mobile user during the workflow.

In accordance with another embodiment of the invention, a client is downloaded on the mobile device that uses an open operating system. Thereafter, the client manages the download and usage of the digital content on the mobile device. Further, the wrapper is not present and the client facilitates the communication of the mobile device with the mobile service provider. The services are dynamically enabled for the mobile users through the client.

The system and method as described above provides several advantages. One advantage of the invention is that it enables a server side implementation of DRM. That is, it enables implementation of DRM policies on the digital content without the need of any DRM agent being available on the mobile device and without the need of any software installation on the mobile device to implement licensing. Another advantage of the invention is to enable the implementation of charging policies on the digital content during download of the digital content on the mobile device. Further, the invention enables the mobile service provider to implement DRM enforcement on the digital content, so that the content provider does not need to package the digital content with DRM policies.

The present invention provides the advantage of dynamic service enablement of the digital content. Further, the present invention provides another advantage of dynamic service enablement on all types of mobile devices. The mobile devices may have different operating systems including proprietary operating systems that support Java and open operating systems.

The present invention provides yet another advantage of providing additional business models to mobile service providers by enabling them to push advertisements to the mobile users. This creates a new stream of revenue for the mobile service providers. Further, the present invention provides another advantage to the mobile user by providing him subsidized or free digital content, the mobile user being benefited through the same business models.

The system, as described in the present invention or any of its components, may be embodied in the form of a processing machine. Typical examples of a processing machine include a general-purpose computer, a programmed microprocessor, a micro-controller, a peripheral integrated circuit element, and other devices or arrangements of devices that are capable of implementing the steps that constitute the method of the present invention.

The processing machine executes a set of instructions that are stored in one or more storage elements, in order to process input data. The storage elements may also hold data or other information as desired. The storage element may be in the form of an information source or a physical memory element present in the processing machine.

The set of instructions may include various commands that instruct the processing machine to perform specific tasks such as the steps that constitute the method of the present invention. The set of instructions may be in the form of a software program. The software may be in various forms such as system software or application software. Further, the software might be in the form of a collection of separate programs, a program module with a larger program or a portion of a program module. The software might also include modular programming in the form of object-oriented programming. The processing of input data by the processing machine may be in response to user commands, or in response to results of previous processing or in response to a request made by another processing machine.

A person skilled in the art can appreciate that the various processing machines and/or storage elements may not be physically located in the same geographical location. The processing machines and/or storage elements may be located in geographically distinct locations and connected to each other to enable communication. Various communication technologies may be used to enable communication between the processing machines and/or storage elements. Such technologies include session of the processing machines and/or storage elements, in the form of a network. The network can be an intranet, an extranet, the Internet or any client server models that enable communication. Such communication technologies may use various protocols such as TCP/IP, UDP, ATM or OSI.

While the preferred embodiments of the invention have been illustrated and described, it will be clear that the invention is not limited to these embodiments only. Numerous modifications, changes, variations, substitutions and equivalents will be apparent to those skilled in the art without departing from the spirit and scope of the invention as described in the claims. 

1. A method for dynamically enabling services for mobile users, the services being related to digital content, the services being provided by a mobile service provider, the services being received by the mobile users on their mobile devices, the mobile devices being Java enabled, the services being defined in a workflow, the workflow being based on policies, the workflow being implemented on the digital content by a wrapper, the wrapper being applied to the digital content, the method comprising the steps of: a. downloading the digital content by a mobile user, wherein the wrapper is downloaded along with the digital content; b. initiating a request by the mobile user for using the digital content, wherein the request is sent to the mobile service provider; c. generating dynamically a set of options for the mobile user, the set of options being generated by applying policies to a context information by the mobile service provider, the context information being related to the mobile user, each option from the set of options providing a service related to the digital content, wherein the mobile user is prompted to select an option from the set of options; d. informing the mobile service provider about the option selected by the mobile user, through the wrapper; and e. delivering the service to the mobile user by the mobile service provider according to the option selected by the mobile user.
 2. The method of claim 1, wherein the digital content comprises a Java2 Micro Edition (J2ME) application.
 3. The method of claim 1, wherein the context information comprises information about at least one of: the mobile device used by the mobile user, the profile of the mobile user, the preferences of the mobile user, the network of the mobile user, network geography, time of a day, and events associated with the day.
 4. The method of claim 3 further comprising the step of facilitating display of one or more advertisements, the advertisements being based on the context information.
 5. The method of claim 4, wherein the step of facilitating the display of the one or more advertisements comprises the step of displaying the advertisement with user options for mobile user, the user options prompting the mobile user to perform an action related to a displayed advertisement.
 6. The method of claim 4; wherein the step of facilitating the display of the one or more advertisements comprises the step of displaying at least one of: an advertisement for a free digital content, an advertisement for a discounted content, an advertisement for a digital content with a predefined price, an advertisement for a product, and an advertisement for a service.
 7. The method of claim 1, wherein the step of generating dynamically the set of options for the mobile user comprises the step of providing the services, the services comprising at least one of: using the digital content and referring the digital content to another mobile user.
 8. The method of claim 7, wherein the step of using the digital content comprises at least one of: executing the digital content, purchasing a license, viewing related digital content, purchasing the related digital content, and accessing a vault, the vault being a personal online storage space.
 9. The method of claim 8, wherein the step of purchasing the license comprises the step of allowing purchase of the license through the wrapper before an existing license expires, the step of purchasing the license being facilitated without a need to download the digital content again.
 10. The method of claim 7, wherein the step of purchasing the license comprises the step of making a payment by the mobile user corresponding to the license to be purchased, the payment being made through a charging mechanism.
 11. The method of claim 10, wherein the charging mechanism comprises at least one of: an operator billing, billing aggregator, WAP billing, SMS billing, a credit-card, debit card, Automatic Clearing House (ACH), and a mobile-wallet (m-wallet).
 12. The method of claim 8, wherein the related digital content is selected on the basis of at least one of: the request initiated by the mobile user and the context information.
 13. The method of claim 8, wherein the related digital content comprises the digital content, the digital content being compatible with the mobile device is selected from at least one of: J2ME application, a game, a screen saver, a tone, a music, a video clip, a Multimedia Messaging Service (MMS), informational services, and a wall paper.
 14. The method of claim 7, wherein the step of referring the digital content to another mobile user comprises at least one of sharing the digital content with another mobile user, challenging another mobile user, and gifting the digital content to another mobile user.
 15. The method of claim 14, wherein the step of gifting the digital content to the another mobile user comprises the steps of: a. displaying a phone book to the mobile user to choose mobile number of the another mobile user; b. prompting the mobile user for confirmation of a charge of the digital content using a charging mechanism; c. facilitating the communication of the confirmation to the mobile service provider through the wrapper; d. sending a Wireless Application Protocol (WAP) push with a gift message to the another mobile user by the mobile service provider, the WAP push being sent to determine a mobile device being used by the another mobile user; e. sending a compatible digital content by the mobile service provider, the compatible digital content being compatible with the determined mobile device, to the other mobile user; and f. committing the charge to the mobile user by the mobile service provider.
 16. The method of claim 1, wherein the digital content is downloaded through at least one of: Internet, email, Compact Disc (CD), Infrared, Bluetooth, binary Short Messaging Service (SMS), and WAP.
 17. The method of claim 1, wherein the method is carried out by one or more computer programs.
 18. A method for dynamically enabling services for mobile users, the services being related to a digital content, the services being provided by a mobile service provider, the services being received by the mobile users on their mobile devices, the mobile devices using open operating systems, the services being defined in a workflow, the workflow being based on policies, the workflow being implemented on the digital content by a client, the method comprising the steps of: a. downloading the digital content by a mobile user, wherein the client is downloaded before the digital content; b. initiating a request by the mobile user for using the digital content, wherein the request is sent to the mobile service provider; c. generating dynamically a set of options for the mobile user, the set of options being generated by application of policies on the context information by the mobile service provider, a context information being related to the mobile user, each option from the set of options providing a service, wherein the mobile user is prompted to select an option from the set of options; d. informing the mobile service provider about the option selected by the mobile user through the client; and e. delivering the service to the mobile user by the mobile service provider, according to the option selected by the mobile user.
 19. The method of claim 18, wherein an open operating system installed on a mobile device is at least one of Microsoft Pocket PC™, WinCE™, and Symbian™.
 20. The method of claim 18, wherein the digital content comprises a digital application, the digital application being at least one of a J2ME application, a Symbian application, and a native application.
 21. The method of claim 18, wherein the workflow based on Digital Rights Management (DRM) policies is implemented on the digital content by the client.
 22. The method of claim 18, wherein the digital content and the client are downloaded through at least one of: Internet, email, Compact Disc (CD), Infrared, Bluetooth, binary SMS, and WAP.
 23. The method of claim 18, wherein the method is carried out by one or more computer programs.
 24. A system for dynamically enabling services for mobile users, the services being related to a digital content, the services being defined in a workflow, the workflow being based on policies, the workflow being implemented on the digital content by a wrapper, the wrapper being applied to the digital content, the system comprising: a. at least one mobile service provider, the mobile service provider facilitating dynamic enablement of the services, the mobile service provider comprising a mobile application server, the mobile application server enabling implementation of the workflow on the digital content and delivery of the services, the mobile application server further comprising: i. a User Interaction Workflow Engine (UIWE), the UIWE interacting with the wrapper and facilitating application of policies on a context information, to generate a set of options, the context information being related to a mobile user, each option from the set of options providing a service; ii. a context server, the context server providing the context information to the UIWE, the context server comprising a database of the context information, the context information comprising information about at least one of: a mobile device used by the mobile user, profile of the mobile user, preferences of the mobile user, a network of the mobile user, and, a network geography; and iii. a Service Control and Execution Unit (SCEU), the SCEU defining a control workflow, the mobile application server working on the basis of the control workflow including instructions between the UIWE, the context server, and service delivery functions of the mobile application server, and between the UIWE and the wrapper; and b. at least one mobile device, the mobile device downloading the digital content along with the wrapper, the wrapper implementing the workflow on the digital content for enabling the services on the mobile device.
 25. The system of claim 24, wherein the mobile service provider includes an advertisement server, the advertisement server comprising: a. an advertisement database, the advertisement database further comprising means for interacting with the context server for determining the one or more advertisement on the basis of the context information; and b. means for delivering the one or more advertisements to the mobile user.
 26. The system of claim 24, wherein the service delivery functions comprise a messaging unit, a licensing server, and a charging unit.
 27. The system of claim 24, wherein the services are present in at least one of a network operator, an enterprise, and one or more mobile service providers.
 28. A system for dynamically enabling services for mobile users, the services being related to a digital content, the services being defined in a workflow, the workflow being based on policies, the workflow being implemented on the digital content by a client, the system comprising: a. at least one mobile service provider, the mobile service provider facilitating dynamic enablement of the services, the mobile service provider comprising a mobile application server, the mobile application server enabling implementation of the workflow on the digital content and delivery of the services, the mobile application server further comprising: i. a User Interaction Workflow Engine (UIWE), the UIWE interacting with the client and facilitating application of policies on the context information, to generate a set of options, a context information being related to a mobile user, each option from the set of options providing a service; ii. a context server, the context server providing the context information to the UIWE, the context server comprising a database of the context information, the context information comprising information about at least one of a mobile device used by the mobile user, profile of the mobile user, preferences of the mobile user, a network of the mobile user, a network geography, time of a day, events associated with the day, and the digital content; and iii. a Service Control and Execution Unit (SCEU), the SCEU defining a control workflow, the mobile application server working on the basis of the control workflow, the control workflow including instructions between the UIWE, the context server, and service delivery functions of the mobile application server, and, between the UIWE and the client; and b. at least one mobile device, the mobile device having downloaded the digital content and the client, the client implementing the workflow on the digital content, for enabling the services on the mobile device.
 29. The system of claim 28, wherein the mobile service provider includes an advertisement server, the advertisement server comprising: a. an advertisement database, the advertisement database further comprising means for interacting with a context server for determining the advertisement on the basis of the context information; and b. means for delivering the advertisements to the mobile user.
 30. The method of claim 28, wherein the service delivery functions comprise a messaging unit, a licensing server, and a charging unit.
 31. The system of claim 28, wherein the services are present in at least one of a network operator, an enterprise, and one or more mobile service providers. 